<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // new ????
        //    创建了一个对象
        //    this指向了这个对象
        //    返回了一个对象
        //    让对象的构造器变成了指向了这个函数  



        // 任何一个函数都有成为构造函数的机会
        //    new + 函数   =   构造函数
        //    函数  =  普通函数


        // 一般构造函数的名字首字母大写



        // function f() {
        //     console.log(this);
        // }


        // // var res = f();    // window
        // // console.log(res);   // undefined

        // var res2 = new f();
        // console.log(res2);



        function person(name, age) {
            // const obj = {};    // 1 new帮我创建了这个对象
            //                       2 new 让this指向了这个对象
            // obj.name = name;
            // obj.age = age;
            // obj.say = function () {
            //     console.log('hello world');
            // }

            this.name = name;
            this.age = age;
            this.say = function () {
                console.log('hello world');
            }
            // return obj    // new 帮我返回了这个对象
        }

        const p1 = new person('cc', 20);
        console.log(p1);

        console.log(p1.constructor === person);


        // person('yy', 19);

        // console.log(age);


    </script>

</body>

</html>